// index.js
// 获取应用实例
const app = getApp()

Page({
  data: {
    motto: '授权进入',
    userInfo: {},
    hasUserInfo: false,
    canIUse: wx.canIUse('button.open-type.getUserInfo'),
    canIUseGetUserProfile: false,
    //canIUseOpenData: wx.canIUse('open-data.type.userAvatarUrl') && wx.canIUse('open-data.type.userNickName'), // 如需尝试获取用户信息可改为false
    canIUseOpenData: false // 如需尝试获取用户信息可改为false
  },
  // 将emoji变成字符
  EmojiExchangeString(str) { 
    var patt=/[\ud800-\udbff][\udc00-\udfff]/g; // 检测utf16字符正则 
    str = str.replace(patt, function(char){ 
        var H, L, code; 
        if (char.length===2) { 
            H = char.charCodeAt(0); // 取出高位 
            L = char.charCodeAt(1); // 取出低位 
            code = (H - 0xD800) * 0x400 + 0x10000 + L - 0xDC00; // 转换算法 
            return "&#" + code + ";"; 
        } else { 
            return char; 
        } 
    }); 
    return str; 
},
  // 事件处理函数
  toHome() {
    let user = wx.getStorageSync('user')?JSON.parse(wx.getStorageSync('user')).tx:'';
    if(user){
      wx.reLaunch({
       url: '/pages/home/index'
      })
    }else{
      let user = this.data.userInfo;
      let obj = this.data.userInfo;
      user.nickName = this.EmojiExchangeString(user.nickName)
      let data = JSON.stringify({tx:obj.avatarUrl,name:obj.nickName})
      wx.request({
        url: 'http://localhost:8888/adduser',
        data:{username:user.nickName,usertx:user.avatarUrl},
        method:"POST",
        success (ress) {
          wx.reLaunch({
            url: '/pages/home/index'
          })
          wx.setStorageSync("user",data)
        }
      })
    }
  },
  onLoad() {
    if (wx.getUserProfile) {
      this.setData({
        canIUseGetUserProfile: true
      })
    }
  },
  getUserProfile(e) {
    // 推荐使用wx.getUserProfile获取用户信息，开发者每次通过该接口获取用户个人信息均需用户确认，开发者妥善保管用户快速填写的头像昵称，避免重复弹窗
    wx.getUserProfile({
      desc: '展示用户信息', // 声明获取用户个人信息后的用途，后续会展示在弹窗中，请谨慎填写
      success: (res) => {
        console.log(res)
        this.setData({
          userInfo: res.userInfo,
          hasUserInfo: true
        })
      }
    })
  },
  getUserInfo(e) {
    // 不推荐使用getUserInfo获取用户信息，预计自2021年4月13日起，getUserInfo将不再弹出弹窗，并直接返回匿名的用户个人信息
    console.log(e)
    this.setData({
      userInfo: e.detail.userInfo,
      hasUserInfo: true
    })
  }
})
